Skip to content

feat(view): composable, URL-syncable dashboard config - #6

Merged
simontaurus merged 2 commits into
mainfrom
feat/dashboard-config
Jul 25, 2026
Merged

feat(view): composable, URL-syncable dashboard config#6
simontaurus merged 2 commits into
mainfrom
feat/dashboard-config

Conversation

@simontaurus

Copy link
Copy Markdown
Contributor

Adapts the lab live view to the new base dashboard-config binding (opensemantic.base v0.42.8.post1000002004004), which removed the JSON-editor path and LiveDashboardConfig.

Changes

  • New config classes (_live_dashboard.py): LiveConfig (buffer_size / update_interval_ms / history_seconds) and LiveDataToolViewConfig(DataToolViewConfig) adding a live sub-config - mirroring how LiveDataToolView extends DataToolView with a live tab.
  • LiveDataToolView on the new binding: config_cls, _coerce_config, and a _apply_config override that resizes the rolling buffers / retimes the periodic callback, then delegates to the base. Removes _on_config_editor_change and the LiveDashboardConfig import.
  • URL sync: optional url_sync / url_mode passthrough; enabled in the live example in PLAIN_KEYS mode (human-readable flattened query params, legible in the address bar).
  • Exports: LiveConfig, LiveDataToolViewConfig, LiveDataToolView from opensemantic.lab.view.
  • Dependency: bump opensemantic.base>=0.42.8.post1000002004004.
  • Docs: regenerate screenshots/GIF with a synthetic address bar showcasing the URL-synced config; update README example.

Test

  • Full offline suite: 44 passed; flake8 + black clean.
  • Config round-trip + _coerce_config upgrade + UrlConfig (all modes) verified for LiveDataToolViewConfig.
  • Live demo driven end-to-end via Playwright (docs/generate_screenshots.py): archive + live plots render with real OPC UA data; PLAIN_KEYS URL-sync restore confirmed on reload.

Define LiveConfig + LiveDataToolViewConfig (extends DataToolViewConfig with a
live sub-config) and adapt LiveDataToolView to the new base binding: config_cls,
_coerce_config, and a _apply_config override that resizes buffers / retimes the
periodic callback before delegating to the base. Drops the removed JSON-editor
path (_on_config_editor_change) and the removed LiveDashboardConfig import.

Add optional url_sync/url_mode passthrough and enable it in the live example
(COMPRESSED_BASE64). Export the new config classes from the view package.

Bump the base dependency to >=0.42.8.post1000002004004 (the config release).

Regenerate docs screenshots/GIF with a synthetic address bar showcasing the
URL-synced config, and update the README example.
Switch the live example (and README) from COMPRESSED_BASE64 to PLAIN_KEYS so the
URL-synced config is legible in the address bar; the live tree is tiny, so the
flattened dot-path params stay short. Regenerate the docs screenshots/GIF to
show the readable URL.
@simontaurus
simontaurus merged commit 3dcf748 into main Jul 25, 2026
16 of 18 checks passed
@simontaurus
simontaurus deleted the feat/dashboard-config branch July 25, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant